{{tag>système diagnostic_outil}}

----

====== Appels système au clavier : les Touches Magiques ======

===== Introduction =====

Si votre machine vient de planter et que vous n'arrivez plus à ne rien faire (voir [[tutoriel/lorsque_le_systeme_gele|la procédure usuelle]]), n'appuyez pas encore sur la touche reset ! Il vous reste une chance de redémarrer votre machine : les "touches magiques", ou //Magic Sys Keys//.




===== Qu'est-ce que c'est ? =====

Les touches magiques sont des combinaisons de touches qui permettent d'envoyer des appels directement au noyau. Il s'agit de combinaisons du type : **Alt+SysRq+Touche**. La touche **SysRq** (pour //System Request//), ou **Syst**, correspond souvent à la touche **Imprim Écran** (juste au-dessus de la touche **Inser** ou **Del**).



===== Pré-requis =====

Pour pouvoir accéder aux touches magiques, il faut que cette fonctionnalité ait été activée dans le noyau. **C'est le cas par défaut pour Ubuntu**, mais ça peut ne pas l'être pour d'autres distributions (pour le savoir, vérifiez l'existence du fichier ///proc/sys/kernel/sysrq//).

Si vous compilez vous-même votre noyau, il vous faut mettre l'option //Magic SysRq key// du menu //Kernel Hacking// à //oui//. Sachez cependant que certaines personnes((Cf. le [[http://casteyde.christian.free.fr/system/linux/guide/online/x15797.html|YALIG]] (//Yet Another Linux Installation Guide//) de Christian Casteyde.)) considèrent ces touches magiques comme un trou de sécurité.

Vous pouvez également bloquer cette fonctionnalité en mettant **kernel.sysrq=0** dans le fichier **/etc/sysctl.conf** (ou la débloquer en mettant **1**).






===== Les combinaisons de touches =====

Les touches magiques sont documentées en détail dans le fichier **/usr/share/doc/linux-doc-`uname -r`/Documentation/sysrq.txt.gz** fourni par le paquet **linux-doc-`uname -r`** (dépend de votre version du noyau, donnée par la commande **uname -r**).

 Les combinaisons disponibles sont :
^ Combinaison ^ Effet ^ Signification ^
| **Alt   SysRq   0-9** | Détermine le niveau de log de la console | |
| **Alt   SysRq   b** | Redémarre l'ordinateur | re**B**oot |
| **Alt   SysRq   c** |  Redémarre //via// **kexec** pour faire un crashdump | **C**rashdump |
| **Alt   SysRq   e** | Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf //init//) | t**E**rm |
| **Alt   SysRq   f** | Tue le processus qui consomme le plus de mémoire (//via// **oom-killer**) | |
| **Alt   SysRq   i** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf //init//) | k**I**ll |
| **Alt   SysRq   k** | Tue tous les processus de la console virtuelle courante | **K**ey |
| **Alt   SysRq   l** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même //init//) | kil**L** |
| **Alt   SysRq   m** | Affiche le contenu actuel de la mémoire | **M**emory |
| **Alt   SysRq   o** | Éteint le systeme via APM | **O**ut |
| **Alt   SysRq   p** | Affiche sur la console les registres et drapeaux actuels | **P**rint |
| **Alt   SysRq   r** | Bascule la gestion du clavier de mode brute (raw) à XLATE | **R**aw |
| **Alt   SysRq   s** | Synchronise les disques (tente d'écrire toutes les données non sauvegardées) | **s**ync |
| **Alt   SysRq   t** | Affiche une liste des tâches actuellement en cours et leur description | **T**ask |
| **Alt   SysRq   u** | Tente de remonter tous les systèmes de fichiers montés en lecture seule. Ceci retire le marquage « dirty flag » et évitera ainsi une vérification du système de fichiers au redémarrage. | **U**mount |



===== Procédure pour redémarrer votre machine =====
Effectuez les combinaisons de touches suivantes, dans l'ordre :

  - **Alt   SysRq   s** - Synchronise les disques
  - **Alt   SysRq   e** - Essaie de fermer les processus en envoyant SIGTERM [facultatif]
  - **Alt   SysRq   i** - Tue tous les processus restant en envoyant SIGKILL [facultatif]
  - **Alt   SysRq   u** - Démonte les disques
  - **Alt   SysRq   b** - Redémarre

**Il est important d'attendre plusieurs secondes entre les différentes étapes**, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher...

Un moyen mnémotechnique parmi d'autres pour se souvenir de la séquence : //**S**topper **U**buntu **B**rusquement// (pour la séquence longue : //**S**avoir **E**teindre **I**ntégralement **U**buntu **B**rusquement// ou
//**S**o **E**verything **I**s **U**nusual, **B**oot).//

----

 //Contributeurs : [[utilisateurs:nknico]],   [[utilisateurs:naoli|naoli]]//